1. Field of the Invention
The invention relates to a cache memory system suitable for use in a graphics rendering system to reduce memory traffic and improve the performance of the graphics rendering system.
2. Description of the Related Art
A typical three-dimensional (3D) graphics display system includes a graphics rendering processor, a display memory unit and a display monitor. The display memory unit stores many kinds of data, including pixel color values (R, G, B), pixel transparency or alpha value (A), depth value (Z), texture image data, etc.
These data are generally read out from the display memory, processed, and then written back into the display memory, if necessary.
In order to generate photo-realistic 3D graphics images, each pixel may apply texture mapping, alpha blending, fog blending, etc. Texture mapping is a process where texture image data is read from the texture memory and is applied on each pixel. For each pixel, combinations of 1, 2, 4, 8 or more texture image data with different resolutions may be derived according to the rendering quality requirement, thereby necessitating a great deal of texture memory accesses that increases the loading on memory traffic. It is apparent that memory bandwidth will dominate the system performance and will become the bottleneck of the graphics rendering operation, if a lot of texture mapped objects are rendered, no matter how fast the graphics rendering processor runs.
A general strategy adopted to resolve this problem is to introduce a cache memory system into the graphics rendering system. With a suitable cache replacement scheme, the number of texture memory accesses can be reduced. However, since a pipeline structure is commonly employed in a 3D graphics engine design, most designs will have their pipeline processes stall when there is a cache miss. If the graphics rendering system has a deep pipeline structure, in the event that the requested memory data returns after n clock cycles, n bubbles will emerge in the pipeline. These bubbles can cause idling of the rendering engine and will degrade the overall performance of the graphics rendering system.